$myhello = new myHello;
echo getMyHello ($myhello), "\n";
// MyHello: "Hello, World."

printMyHello ($myhello);
// PHP Catchable fatal error:  Argument 1 passed to printMyHello() must
// implement interface iMyHelloExt ...

echo new MyHelloDecorator ($myhello), "\n";
// PHP Catchable fatal error:  Argument 1 passed to
// MyHelloDecorator::__construct() must be an instance of MyHelloExt ...

$myhello = new myHelloExt;
echo getMyHello ($myhello), "\n";
// MyHelloExt: Hello, World.

printMyHello ($myhello);
// MyHelloExt: Hello, World.

echo new MyHelloDecorator ($myhello), "\n";
// MyHelloExt: Hello, World.
